Generation of verification conditions for Abadi and Leino’s Logic of Objects
نویسندگان
چکیده
We consider the problem of verification condition generation for Abadi and Leino’s program logic (AL) for objects. We provide an algorithm which to a given judgement J in AL computes a formula φ in first-order fixpoint logic such that φ is equivalent to the existence of a proof of J in AL. Moreover, we show that if J is sufficiently annotated, e.g., with loop invariants, then φ will be purely first-order. The verification condition φ summarises the mathematical content of a correctness proof in AL while hiding all syntactic detail. We hope that in the presence of appropriate lemmas it will in many cases be possible to delegate the task of proving φ to a semi-automatic theorem prover so that program verification in AL would essentially amount to formulating appropriate invariants and lemmas. An object-oriented version of Euclid’s algorithm looks promising in this direction. The steps of the algorithm are as follows: (1) infer a typing derivation D of J . (2) Turn D into a skeleton proof of J which contains predicate variables in place of actual assertions. (3) Conjoin all logical side-conditions appearing in this skeleton and existentially quantify all predicate variables. The resulting second-order formula is equivalent to the existence of a proof. (4) Apply simplification rules to obtain the desired formula in fixpoint logic or perhaps in pure first-order logic.
منابع مشابه
Denotational Semantics for Abadi and Leino's Logic of Objects
Abadi-Leino Logic is a Hoare-calculus style logic for a simple imperative and object-based language where every object comes with its own method suite. Consequently, methods need to reside in the store (”higher-order store”). We present a new soundness proof for this logic using a denotational semantics where object specifications are recursive predicates on the domain of objects. Our semantics...
متن کاملSemantics and Logic of Object Calculi
The main contribution of this paper is a formal characterization of recursive object specifications and their existence based on a denotational untyped semantics of the object calculus. Existence is not guaranteed but can be shown employing Pitts’ results on relational properties of domains. The semantics can be used to analyse and verify Abadi & Leino’s object logic but it also suggests extens...
متن کاملDenotational semantics for a program logic of objects
The object-calculus is an imperative and object-based programming language where every object comes equipped with its own method suite. Consequently, methods need to reside in the store (“higher-order store”) which complicates the semantics. Abadi and Leino defined a program logic for this language enriching object types by method specifications. We present a new soundness proof for their logic...
متن کاملThickness Measuring of Thin Metal by Non Destructive with Fuzzy Logic Control System
Non-Destructive Testing & Evaluation methods are developed to inspect and investigate materials and structures. Ultrasonic Testing is an NDT method can be used for measuring the thickness of objects, as one of its significant applications. The objective of this paper is designing and applying an intelligent UT fuzzy control system for evaluating the thickness of thin metal objects in a range of...
متن کاملThickness Measuring of Thin Metal by Non Destructive with Fuzzy Logic Control System
Non-Destructive Testing & Evaluation methods are developed to inspect and investigate materials and structures. Ultrasonic Testing is an NDT method can be used for measuring the thickness of objects, as one of its significant applications. The objective of this paper is designing and applying an intelligent UT fuzzy control system for evaluating the thickness of thin metal objects in a range of...
متن کامل